package com.starlink.model.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.starlink.common.PageQueryRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author zhanghong
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel("商城订单物流信息请求模型")
public class MallLogisticsRequest extends PageQueryRequest implements Serializable {
    @ApiModelProperty("订单ID")
    private Long orderId;
    @ApiModelProperty("子订单id")
    private Long subOrderId;
    @ApiModelProperty("商家物流订单编号")
    private String logisticsNum;
    @ApiModelProperty("订单类别 1书籍 2周边 3积分 4购物车 5书包 6智能穿戴")
    private Integer orderType;
    @ApiModelProperty("地址ID")
    private Long addressId;
    @ApiModelProperty("物流节点编码")
    private String logisticsStatus;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("发货时间")
    private Date shippingDate;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("签收时间")
    private Date receiveGoodsTime;
    @ApiModelProperty("物流订单号")
    private String logisticsOrderId;
    @ApiModelProperty("物流运单号")
    private String waybillCode;
    @ApiModelProperty("运费(物流系统的运费，与客户支付的运费无关)单位：元")
    private BigDecimal freight;
    @ApiModelProperty("配送方式")
    private String shippingMethod;
    @ApiModelProperty("运输类型 0:发货运输 1:换货运输")
    private Integer freeType;
    @ApiModelProperty("运输状态 0:运输中 1:已取消 2:已拒收 3:退回中")
    private Integer freeStatus;
}
